Emberveil sourcegame/2006Scape Client/src/main/java/RSFrame.java
// Decompiled by Jad v1.5.8f. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3)
import java.awt.*;
final class RSFrame extends Frame {
public RSFrame(RSApplet applet) {
rsApplet = applet;
setTitle(ClientSettings.SERVER_NAME + " World: " + ClientSettings.SERVER_WORLD + ((ClientSettings.SERVER_IP.equals("localhost") || ClientSettings.SERVER_IP.equals("127.0.0.1")) ? " [Local]" : ""));
this.setResizable(true);
this.setBackground(Color.BLACK);
this.setLayout(new BorderLayout());
this.add(applet, BorderLayout.CENTER);
MenuBar menuBar = new MenuBar();
Menu emberveil = new Menu("Emberveil");
MenuItem worldMap = new MenuItem("World Map (Ctrl+M)");
worldMap.addActionListener(e -> EmberveilWorldMap.open(this));
emberveil.add(worldMap);
menuBar.add(emberveil);
Menu view = new Menu("View");
MenuItem zoomIn = new MenuItem("Zoom in (Page Up)");
zoomIn.addActionListener(e -> changeZoom(-1));view.add(zoomIn);
MenuItem zoomOut = new MenuItem("Zoom out (Page Down)");
zoomOut.addActionListener(e -> changeZoom(1));view.add(zoomOut);
MenuItem resetZoom = new MenuItem("Reset zoom");
resetZoom.addActionListener(e -> Game.zoom=3);view.add(resetZoom);
view.addSeparator();
MenuItem fullscreen = new MenuItem("Fullscreen / Windowed (F11)");
fullscreen.addActionListener(e -> toggleFullscreen());view.add(fullscreen);
menuBar.add(view);
setMenuBar(menuBar);
this.pack();
setMinimumSize(new Dimension(400,300));
this.setLocationRelativeTo(null);
this.setVisible(true);
this.toFront();
this.transferFocus();
}
private final RSApplet rsApplet;
private Rectangle windowBounds;
private MenuBar windowMenu;
private boolean fullscreen;
boolean isFullscreen(){return fullscreen;}
private void changeZoom(int amount){if(rsApplet instanceof Game)((Game)rsApplet).changeCameraZoom(amount);}
void toggleFullscreen() {
if(!EventQueue.isDispatchThread()){EventQueue.invokeLater(()->toggleFullscreen());return;}
boolean visible=isVisible();
if(!fullscreen) {
windowBounds=getBounds();windowMenu=getMenuBar();
Rectangle screen=getGraphicsConfiguration().getBounds();
dispose();setMenuBar(null);setUndecorated(true);setBounds(screen);fullscreen=true;
} else {
dispose();setUndecorated(false);setMenuBar(windowMenu);setBounds(windowBounds);fullscreen=false;
}
setVisible(visible);rsApplet.requestFocus();
}
}